Semana 4 (Semestre 2)

Me desvié de las indicaciones y usé velocity verlet para poder simular velocidades, posiciones y aceleraciones. Utilizando la fórmula de fuerza elástica, de momento solo he podido simular 2 partículas que rebotan entre sí. Con una constante elástica de k y una distancia d igual a 2, esta es la animación.
particle_simulation.gif

Agregando viscocidad de 0.1 proporcional a la velocidad. Esto cambió así. Donde podemos ver que llega un momento que dejan de oscilar o bien es mínima.
particle_simulation-viscocity.gif
Antes de pasar a la fuerza para crear un angulo entre 3 partículas, debo crear una automatización para crear los bonds automáticamente dependiendo del número de partículas, y esta crearla en una función aparte, para poder implementar más fácilmente las cosas.

Estuve tieniendo muchos problemas para hacer paredes periodicas, asi que de momento usare paredes fijas con un potencial lenard jones. Lo cual de momento funciona.

Diseno automatico de cadenas

Cree una funcion que crea cadenas y las posiciona dependiendo el numero de cadenas y particulas independientemente. Pero es bastante sencillo, ya que se crea a partir del centro.
Se necesita una entrada en forma de Array, como esta [2, 3, 6], donde cada elemento es un bond y cada dato es el numero de particulas de cada bond.
Un array asi, nos muestra algo como esto.
Pasted image 20240831192255.png

Despues de demasiadas horas tratando de calcular las fuerzas elasticas independientemente de cada bond, se logro. Aunque creo todavia hay algo extrano porque a bajas viscocidades, estamos hablando de 0.1 aproximadamente, la oscilacion no cede despues de 40 segundos. Pero con una viscocidad de 0.7 este es el resultado. Este comportamiento es a una distancia de 3.
particle_simulation_3.gif